|
In computer science, the ostrich algorithm is a strategy of ignoring potential problems on the basis that they may be exceedingly rare. It is named for the ostrich effect which is defined as "to stick one's head in the sand and pretend there is no problem." It is used when it is more cost-effective to allow the problem to occur than to attempt its prevention. ==Use with deadlocks== This approach may be used in dealing with deadlocks in concurrent programming if they are believed to be very rare and the cost of detection or prevention is high. For example if each PC deadlocks once per 10 years, the one reboot may be less painful than the restrictions needed to prevent it.〔 Gottlieb, Allan. "Operating Systems." OS Lecture #6. N.p., 2008. Web. 13 Nov. 2014. http://cs.nyu.edu/~gottlieb/courses/2008-09-fall/os2250/lectures/lecture-06.html〕 A set of processes is deadlocked if each process in the set is waiting for an event that only another process in the set can cause. Usually the event is release of a currently held resource and none of the processes can run, release resources, and be awakened.〔The University of South Wales. https://cgi.cse.unsw.edu.au/~cs3231/14s1/lectures/lect05.pdf〕 The Ostrich algorithm pretends there is no problem and is reasonable to use if deadlocks occur very rarely and the cost of their prevention would be high. The UNIX and Windows operating systems take this approach.〔 Florida International University. Computing & Information Sciences. users.cis.fiu.edu/~sadjadi/Teaching/.../Lectures/Chapter-03.ppt〕 Although using the Ostrich algorithm is one of the methods of dealing with deadlocks, other effective methods exist such as dynamic avoidance, banker's algorithm, detection and recovery, and prevention.〔 Middle East Technical University. www.ceng.metu.edu.tr/~genc/334/Ch_6_Deadlocks.ppt Deadlocks.〕 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Ostrich algorithm」の詳細全文を読む スポンサード リンク
|